#ifndef __System_Object_H__
#define __System_Object_H__

///<summary>
/// Object
///</summary>
Declare_DefaultCtor(public,System_Object)

//* vtable function */
virtual(System_Object,bool,Equals, System_Object *obj);
virtual(System_Object,int_,GetHashCode);
virtual(System_Object,string,ToString);

//+ Forward-declare
public static_ bool space(System_Object,Equals2)(System_Object *objA, System_Object *objB);
public System_Type *space(System_Object,GetType)(object t);

//+ default
#define __defaultValueTable_object null

//+ boxing/unboxing
__forceinline System_Object *___boxobject(object value) {
	return (System_Object *)value;
}
__forceinline object ___unboxobject(System_Object *value) {
	return (object)value;
}

#endif /* __System_Object_H__ */
